Sequences
of Images
You can
display a sequence of bitmaps with the same dimensions and formats by using the
DrawDibDrawCFJFPG
function with the DrawDibBegin17ON7GL function. DrawDibBegin improves the efficiency
of DrawDibDraw by preparing the DrawDib DC for drawing.
Note If your
application does not use DrawDibBegin, DrawDibDraw implicitly
executes it prior to drawing. If your application uses DrawDibBegin
prior to DrawDibDraw, DrawDibDraw does not have to process the
function and wait for it to complete.
The DrawDibBegin17ON7GL function provides DrawDibDrawCFJFPG with the DrawDib DC, the DC
handle, the address of the BITMAPINFOHEADER05ZA4G structure, and the source and destination
rectangle dimensions. When you display a sequence of bitmaps, DrawDibDraw
checks the values of these items for each image in the sequence. If DrawDibDraw
detects changes to any of these items, it implicitly calls DrawDibBegin
again to adjust the DrawDib DC settings.
After using DrawDibBegin,
you can draw the image sequence by using DrawDibDraw and specifying one
or more flags as appropriate. Specify the DDF_SAME_HDC flag as long as the DC
handle has not changed. Specify the DDF_SAME_DRAW flag when the following parameters
for DrawDibDraw have not changed: the address of the BITMAPINFOHEADER
structure and the source and destination rectangle dimensions.
You can
update the flags set with DrawDibBegin by using the DrawDibEnd22QHV2D function followed by
another call to DrawDibBegin. Then use DrawDibEnd to clear the
DrawDib DC of its current flags and settings. The subsequent call to DrawDibBegin
reinitializes the DrawDib DC with the appropriate flags and settings.
Alternatively, you can update the flags for a DrawDib DC by using DrawDibBegin
without DrawDibEnd. To do this, you must change at least one of the
following settings concurrently with the flags: the address of the BITMAPINFOHEADER
structure, or the source or destination rectangle dimensions.
You can
increase the efficiency of DrawDibDraw for data-streaming operations
that use compressed images, such as playing a video clip, by using the DrawDibStartEWQ29B and DrawDibStop15P0HJP functions. The DrawDibStart
function prepares the DrawDib DC to receive a stream of images by sending a
message to the video compression manager (VCM). When streaming has ended, DrawDibStop
sends a message to VCM indicating that it can release resources it allocated
for the data-streaming operation. For more information about VCM, see Video
Compression Manager87.6PP.
Note You must
specify the width and height of the source and destination rectangles in your
application. However, you do not need to specify the origins of the rectangles.
Your application can redefine the origins in DrawDibDrawCFJFPG to use different portions
of the image or to update different portions of the display.